using System.Data;
using System;
using Library.Business;
using NhatThanhSoftware;
namespace Library.Controller
{
    public partial class Controller_LoaiHinhDoanhNghiep: Cls_LoaiHinhDoanhNghiep
    {
        /// <summary>
        /// Set du lieu
        /// </summary>
        private static void setLoaiHinhDoanhNghiep(ref Cls_LoaiHinhDoanhNghiep LoaiHinhDoanhNghiep, DataRow dr)
        {
            LoaiHinhDoanhNghiep.STT = Convert.ToInt32(dr[Cls_LoaiHinhDoanhNghiep.fn_STT] ) ;
            LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep = dr[Cls_LoaiHinhDoanhNghiep.fn_ID_LoaiHinhDoanhNghiep].ToString() ;
            LoaiHinhDoanhNghiep.Ten_LoaiHinhDoanhNghiep = dr[Cls_LoaiHinhDoanhNghiep.fn_Ten_LoaiHinhDoanhNghiep].ToString() ;
            LoaiHinhDoanhNghiep.Hidden = Convert.ToBoolean(dr[Cls_LoaiHinhDoanhNghiep.fn_Hidden] ) ;
        }
        /// <summary>
        /// Lưu dữ liệu
        /// </summary>
        /// <param name="dtData">Datatable</param>
        /// <returns>TRUE;FALSE</returns>
        public static bool doSAVE(DataTable dtData)
        {
            if (dtData.GetChanges() == null) return false;
            foreach( DataRow dr in dtData.GetChanges().Rows )
            {
                Cls_LoaiHinhDoanhNghiep LoaiHinhDoanhNghiep = new Cls_LoaiHinhDoanhNghiep();
                try
                {
                    switch(dr.RowState)
                    {
                        case DataRowState.Modified:
                            setLoaiHinhDoanhNghiep(ref LoaiHinhDoanhNghiep, dr);
                            LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep_find =dr[Cls_LoaiHinhDoanhNghiep.fn_ID_LoaiHinhDoanhNghiep].ToString();
                            LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep=LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep_find;
                            LoaiHinhDoanhNghiep.doUpdate();
                            break;
                        case DataRowState.Added:
                            setLoaiHinhDoanhNghiep(ref LoaiHinhDoanhNghiep, dr);
                            LoaiHinhDoanhNghiep.doInsert();
                            break;
                        case DataRowState.Deleted:
                            LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep_find =dr[Cls_LoaiHinhDoanhNghiep.fn_ID_LoaiHinhDoanhNghiep, DataRowVersion.Original].ToString();
                            LoaiHinhDoanhNghiep.doDelete();
                            break;
                    }
                }
                catch (Exception ex)
                {
                    ThongBao.msgThongBao(LoaiHinhDoanhNghiep.ID_LoaiHinhDoanhNghiep + " chưa lưu được, click nút [OK] để lưu tiếp.");
                }
        }
        return true;
        }
        /// <summary>
        /// Check dữ liệu
        /// </summary>
        /// <param name="dtData">Datatable</param>
        /// <returns>TRUE;FALSE</returns>}
        public static void doCHECK(DataTable dtData)
        {
            if (dtData.GetChanges() == null) return;
            DataRowCollection drColection = dtData.GetChanges().Rows;
            foreach (DataRow dr in drColection)
            {
                if (dr.RowState == DataRowState.Deleted) break;
                string strID_LoaiHinhDoanhNghiep = dr[Cls_LoaiHinhDoanhNghiep.fn_ID_LoaiHinhDoanhNghiep].ToString();
                if (dr.RowState == DataRowState.Added)
                {
                    if (Cls_LoaiHinhDoanhNghiep.Exits_Key(Convert.ToString(strID_LoaiHinhDoanhNghiep)))
                        throw new Exception( Controller_Common.ThongBaoNhapBiTrung(str_Key_Description,strID_LoaiHinhDoanhNghiep) );
                }
            }
        }
    }
}
